import axios from 'axios';
export function downloadFileByUrl(url, fileName) {
    if (window.navigator.msSaveBlob) {//这个是IE浏览器独有的方法，用来判断当时是不是IE浏览器
        axios.get(url, {
            responseType: 'blob'
        }).then(res => {
            if (res.data) {
                try {
                    const filedata = new Blob([res.data]);
                    window.navigator.msSaveBlob(filedata, fileName);//此方法即可下载成功
                } catch (e) {
                    alert(e);
                }
            }
        });
    } else {// 谷歌浏览器 创建a标签 添加download属性下载
        const aLink = document.createElement('a');
        aLink.href = url;
        let event;
        if (window.MouseEvent) {
            event = new MouseEvent('click');
        } else {
            event = document.createEvent('MouseEvents');
            event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
        }
        aLink.dispatchEvent(event);
    }
}
//函数节流
export function throttle(fn, wait) {
    let timer = null;
    return () => {
        let args = arguments;
        if( !timer) {
            timer = setTimeout(() => {
                fn(args);
                timer = null;
            },wait);
        }
    }
}

// 过滤出栏目名称
export function getColumnName(data,index) {
  // 找到匹配的 section
  const section = data.find((section) => section.index == index);
  // 如果找到匹配的 section，并且该 section 中有 data 属性
  if (
    section &&
    section.data &&
    Array.isArray(section.data) &&
    section.data.length > 0
  ) {
    // 从 data 中获取第一个元素的 typeName
    const typeName = section.data[0].typeName;
    return typeName || ""; // 如果 typeName 不存在，返回空字符串
  }
  // 如果没有找到匹配的 section 或者没有 typeName，返回空字符串
  return "";
}
// 过滤栏目数据
export function getColumnData(data,index) {
  const section = data.find((section) => section.index == index);
  if (section && section.data && Array.isArray(section.data)) {
    section.data.sort((a, b) => a.index - b.index);
    return section.data;
  }
  return [];
}
